package com.example.demo.service.bis;

import com.example.demo.bean.bis.Sign;
import com.example.demo.bean.dto.SignPlus;

import java.util.List;
import java.util.Map;

/**
 * @author zzz
 * @Title: SignService
 * @ProjectName test
 * @Description: TODO(签到)
 * @date 2018/7/12
 */
public interface SignService {
    /**
     * 获取个人当日签到排名以及签到信息
     * @param date 时间（格式2018-07-08）
     * @param id 用户id
     * @return
     */
    Sign findByDayAndUid( String date, Integer id) ;


    /**
     * 按个人（年月日）迟到、早退等次数
     * @param date 时间（格式：2018 年
     *                       2018-07 月
     *                       2018-07-07 日）
     * @param id 用户id
     * @return
     */
    SignPlus findByUidAndDate(String date, Integer id) ;

    /**
     * 根据部门分组查询所有信息
     * @param date 日期
     * @param id 用户id（暂时无用）
     * @param flag 判断是否为详情
     * @return
     */
    List<SignPlus> findByDeptDate(String date, Integer id, String  flag) ;

    /**
     * 部门经理日统计详情
     * @param date 日期
     * @param deptId 部门id
     * @return
     */
    Map<String,Object> findBySignDetils(String date,Integer id,Integer deptId);
    /**
     * 根据部门分组查询所有信息
     * @param id 用户id（暂时无用）
     * @param date 时间
     * @return
     */
    List<SignPlus> findByDay( String id,String date) ;

    /**
     * 根据部门按 年 or 月 or 日 进行统计
     * @param deptid 部门id
     * @param time
     * @return
     */
    SignPlus findByDeptidAndTime(Integer deptid,String time);

    /**
     * 根据部门按 年 or 月  进行统计详情信息
     * @param deptid 部门id
     * @param date 时间
     * @return
     */
    List<SignPlus> findByDeptidAndTimeDetails(Integer deptid, String date);

}
